PDM-IR SDK  3.2.8
PDM-IR_SDK
PDM-IR_SDK.h
Go to the documentation of this file.
1 /*
2 #######################################
3 
4 Copyright 2017 Micro-Photon-Devices s.r.l.
5 
6 SOFTWARE PRODUCT: PDM-IR_SDK
7 
8 Micro-Photon-Devices (MPD) expressly disclaims any warranty for the SOFTWARE PRODUCT.
9 The SOFTWARE PRODUCT is provided 'As Is' without any express or implied warranty of any kind,
10 including but not limited to any warranties of merchantability, noninfringement, or
11 fitness of a particular purpose. MPD does not warrant or assume responsibility for the
12 accuracy or completeness of any information, text, graphics, links or other items contained
13 within the SOFTWARE PRODUCT. MPD further expressly disclaims any warranty or representation
14 to Authorized Users or to any third party.
15 In no event shall MPD be liable for any damages (including, without limitation, lost profits,
16 business interruption, or lost information) rising out of 'Authorized Users' use of or inability
17 to use the SOFTWARE PRODUCT, even if MPD has been advised of the possibility of such damages.
18 In no event will MPD be liable for loss of data or for indirect, special, incidental,
19 consequential (including lost profit), or other damages based in contract, tort
20 or otherwise. MPD shall have no liability with respect to the content of the
21 SOFTWARE PRODUCT or any part thereof, including but not limited to errors or omissions contained
22 therein, libel, infringements of rights of publicity, privacy, trademark rights, business
23 interruption, personal injury, loss of privacy, moral rights or the disclosure of confidential
24 information.
25 
26 #######################################
27 */
28 #ifndef __PDM_IR_SDK_h__
29 #define __PDM_IR_SDK_h__
30 
31 
32 #pragma once
33 
34 #define WIN32_LEAN_AND_MEAN
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
62 #ifndef DllSDKExport
63  #if defined(_WIN32)
64  #ifdef PDM_IR_DLL_EXPORTS
65  #define DllSDKExport __declspec(dllexport)
66  #else
67  #ifndef PDM_IR_STATIC_LIBRARY
68  #define DllSDKExport __declspec(dllimport)
69  #else
70  #define DllSDKExport
71  #endif
72  #endif
73  #else
74  #define DllSDKExport __attribute__ ((visibility("default")))
75  #endif
76 #endif
77 
83 
84 
85 typedef unsigned char UINT8;
86 typedef signed char INT8;
88 typedef signed short INT16;
89 typedef unsigned short UINT16;
91 typedef unsigned int UINT32;
92 typedef signed int INT32;
97 typedef enum {
104 } RESULT;
105 
109 typedef enum {
110  THIGH = 0,
111  TMEDIUM = 1,
112  TLOW = 2,
113  TLOWEST = 3
114 } TEMP_VALUES;
115 
119 typedef enum {
122 } HOLDOFFTYPE;
123 
128 typedef enum {
131 } GATEMODE;
132 
136 typedef enum {
140 } GATESHAPE;
141 
145 typedef enum {
146  TREDGE_LH = 0,
147  TREDGE_HL = 1,
148 } TREDGE;
149 
154 typedef enum {
156  In_OR_Aux = 1,
167  In_NAND_Aux = 12,
168  In_NOR_Aux = 13,
169  In_XNOR_Aux = 14,
179  only_notIN = 24,
180  only_IN = 25
181 } TRFUNCT;
182 
186 typedef enum {
193 } OUTMODE;
194 
198 typedef enum {
202 } COUNTERSTATUS;
203 
207 typedef enum {
208  TYPE_1 = 0x1,
209  TYPE_2 = 0x2,
210  TYPE_3 = 0x3,
211  TYPE_4 = 0x4,
212  TYPE_5 = 0x5,
213  TYPE_6 = 0x6,
214  TYPE_7 = 0x7,
215 } SPAD_TYPE;
216 
220 typedef enum {
227 }STATUSBITS;
228 
229 
233 typedef enum {
236 }STATUSWARMUP;
237 
241 typedef struct {
242  UINT16 Amplitude;
244  UINT32 HoldOff;
249  INT16 TriggerInTh;
250  INT16 AuxInTh;
252  UINT32 Frequency;
253  UINT32 Ton;
258  UINT8 DelayAuxIn;
259  UINT8 DelayGate;
260  UINT8 DelayNimOut;
261  UINT8 DelayTtlOut;
268 }MODULECONFIG;
269 
271 typedef struct {
272  UINT16 SN;
274  char SpadName[16];
275  char FpgaFwVer[16];
276  char FpgaHwVer[16];
277  char McuFwVer[16];
278  char McuHwVer[16];
279 }MODULEINFO;
280 
288 
295 DllSDKExport void PDMIR_GetVersion(UINT16 *major, UINT16 *minor, UINT16 *revision);
296 
299 //------------ Constructor -----------------------------------------
314 DllSDKExport RESULT PDMIR_SearchDevices(UINT16 *arrayDataSN, UINT16 *numDevsFound);
315 
322 DllSDKExport RESULT PDMIR_OpenCommunication(UINT16 serialNumber);
323 
331 DllSDKExport RESULT PDMIR_CloseCommunication(UINT16 serialNumber);
333 //------------ Set methods -----------------------------------------
349 DllSDKExport RESULT PDMIR_SetAmplitude(UINT16 serialNumber, UINT16 AmplimV);
350 
360 DllSDKExport RESULT PDMIR_SetTemperature(UINT16 serialNumber, TEMP_VALUES temp);
361 
372 DllSDKExport RESULT PDMIR_SetHoldOff(UINT16 serialNumber, UINT32 holdOff, HOLDOFFTYPE type);
373 
384 DllSDKExport RESULT PDMIR_SetGateMode(UINT16 serialNumber, GATEMODE gm);
385 
395 DllSDKExport RESULT PDMIR_SetGateShape(UINT16 serialNumber, GATESHAPE gs);
396 
406 DllSDKExport RESULT PDMIR_SetTriggerEdge(UINT16 serialNumber, TREDGE TriggerEdge);
407 
417 DllSDKExport RESULT PDMIR_SetTriggerInTh(UINT16 serialNumber, INT16 TriggerTh);
418 
428 DllSDKExport RESULT PDMIR_SetAuxInTh(UINT16 serialNumber, INT16 TriggerTh);
429 
439 DllSDKExport RESULT PDMIR_SetTriggerFunction(UINT16 serialNumber, TRFUNCT TriggerFunction);
440 
450 DllSDKExport RESULT PDMIR_SetFrequency(UINT16 serialNumber, UINT32 frequency);
451 
461 DllSDKExport RESULT PDMIR_SetTon(UINT16 serialNumber, UINT32 tOn);
462 
472 DllSDKExport RESULT PDMIR_SetTTLOut(UINT16 serialNumber, OUTMODE TTLOut);
473 
483 DllSDKExport RESULT PDMIR_SetNIMOut(UINT16 serialNumber, OUTMODE NIMOut);
484 
494 DllSDKExport RESULT PDMIR_SetDelayTriggerIn(UINT16 serialNumber, UINT8 delay);
495 
505 DllSDKExport RESULT PDMIR_SetDelayTriggerInternal(UINT16 serialNumber, UINT8 delay);
506 
516 DllSDKExport RESULT PDMIR_SetDelayAuxIn(UINT16 serialNumber, UINT8 delay);
517 
527 DllSDKExport RESULT PDMIR_SetDelayGate(UINT16 serialNumber, UINT8 delay);
528 
538 DllSDKExport RESULT PDMIR_SetDelayNIMOut(UINT16 serialNumber, UINT8 delay);
539 
549 DllSDKExport RESULT PDMIR_SetDelayTTLOut(UINT16 serialNumber, UINT8 delay);
550 
560 DllSDKExport RESULT PDMIR_SetCounterIntegrationTime(UINT16 serialNumber, UINT16 integrationTime);
561 
571 DllSDKExport RESULT PDMIR_SetCounterAvalancheEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
572 
582 DllSDKExport RESULT PDMIR_SetCounterValidGateEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
583 
593 DllSDKExport RESULT PDMIR_SetCounterAuxInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
594 
604 DllSDKExport RESULT PDMIR_SetCounterTriggerInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
605 
615 DllSDKExport RESULT PDMIR_SetCounterInternalTriggerEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus);
616 
625 DllSDKExport RESULT PDMIR_SetModuleOnOff(UINT16 serialNumber, STATUSBITS Mstatus);
627 //------------ Get methods -----------------------------------------
642 DllSDKExport RESULT PDMIR_GetAmplitude(UINT16 serialNumber, UINT16 *ampi);
643 
652 DllSDKExport RESULT PDMIR_GetTemperature(UINT16 serialNumber, TEMP_VALUES *temp);
653 
663 DllSDKExport RESULT PDMIR_GetHoldOff(UINT16 serialNumber, UINT32 *holdOff, HOLDOFFTYPE *type);
664 
673 DllSDKExport RESULT PDMIR_GetGateMode(UINT16 serialNumber, GATEMODE *gate);
674 
683 DllSDKExport RESULT PDMIR_GetGateShape(UINT16 serialNumber, GATESHAPE *shape);
684 
693 DllSDKExport RESULT PDMIR_GetTriggerEdge(UINT16 serialNumber, TREDGE *edge);
694 
703 DllSDKExport RESULT PDMIR_GetTriggerInTh(UINT16 serialNumber, INT16 *TriggerInTh);
704 
713 DllSDKExport RESULT PDMIR_GetAuxInTh(UINT16 serialNumber, INT16 *AuxInTh);
714 
723 DllSDKExport RESULT PDMIR_GetTriggerFunction(UINT16 serialNumber, TRFUNCT *function);
724 
733 DllSDKExport RESULT PDMIR_GetFrequency(UINT16 serialNumber, UINT32 *freq);
734 
743 DllSDKExport RESULT PDMIR_GetTon(UINT16 serialNumber, UINT32 *Ton);
744 
753 DllSDKExport RESULT PDMIR_GetTTLOut(UINT16 serialNumber, OUTMODE *TTLOut);
754 
763 DllSDKExport RESULT PDMIR_GetNIMOut(UINT16 serialNumber, OUTMODE *NIMOut);
764 
773 DllSDKExport RESULT PDMIR_GetDelayTriggerIn(UINT16 serialNumber, UINT8 *delay);
774 
783 DllSDKExport RESULT PDMIR_GetDelayTriggerInternal(UINT16 serialNumber, UINT8 *delay);
784 
793 DllSDKExport RESULT PDMIR_GetDelayAuxIn(UINT16 serialNumber, UINT8 *delay);
794 
803 DllSDKExport RESULT PDMIR_GetDelayGate(UINT16 serialNumber, UINT8 *delay);
804 
813 DllSDKExport RESULT PDMIR_GetDelayNIMOut(UINT16 serialNumber, UINT8 *delay);
814 
823 DllSDKExport RESULT PDMIR_GetDelayTTLOut(UINT16 serialNumber, UINT8 *delay);
824 
833 DllSDKExport RESULT PDMIR_GetCounterIntegrationTime(UINT16 serialNumber, UINT16 *integrationTime);
834 
843 DllSDKExport RESULT PDMIR_GetCounterAvalancheStatus(UINT16 serialNumber, COUNTERSTATUS *status);
844 
853 DllSDKExport RESULT PDMIR_GetCounterValidGateStatus(UINT16 serialNumber, COUNTERSTATUS *status);
854 
863 DllSDKExport RESULT PDMIR_GetCounterAuxInStatus(UINT16 serialNumber, COUNTERSTATUS *status);
864 
873 DllSDKExport RESULT PDMIR_GetCounterTriggerInStatus(UINT16 serialNumber, COUNTERSTATUS *status);
874 
883 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerStatus(UINT16 serialNumber, COUNTERSTATUS *status);
884 
896 DllSDKExport RESULT PDMIR_GetAllCountersStatus(UINT16 serialNumber, COUNTERSTATUS *avalancheStatus, COUNTERSTATUS *validGateStatus, COUNTERSTATUS *auxInStatus, COUNTERSTATUS *triggerInStatus, COUNTERSTATUS *internalTriggerStatus);
897 
907 DllSDKExport RESULT PDMIR_GetCounterAvalancheLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
908 
918 DllSDKExport RESULT PDMIR_GetCounterValidGateLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
919 
929 DllSDKExport RESULT PDMIR_GetCounterAuxInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
930 
940 DllSDKExport RESULT PDMIR_GetCounterTriggerInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
941 
951 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
952 
966 DllSDKExport RESULT PDMIR_GetAllCountersLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *avalancheCounts, UINT32 *validGateCounts, UINT32 *auxInCounts, UINT32 *triggerInCounts, UINT32 *internalTriggerCounts);
967 
979 DllSDKExport RESULT PDMIR_GetCounterAvalancheValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
980 
992 DllSDKExport RESULT PDMIR_GetCounterValidGateValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
993 
1005 DllSDKExport RESULT PDMIR_GetCounterAuxInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1006 
1018 DllSDKExport RESULT PDMIR_GetCounterTriggerInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1019 
1031 DllSDKExport RESULT PDMIR_GetCounterInternalTriggerValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts);
1032 
1048 DllSDKExport RESULT PDMIR_GetAllCountersValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *avalancheCounts, UINT32 *validGateCounts, UINT32 *auxInCounts, UINT32 *triggerInCounts, UINT32 *internalTriggerCounts);
1049 
1057 DllSDKExport RESULT PDMIR_GetModuleInfo(UINT16 serialNumber, MODULEINFO *info);
1058 
1072 DllSDKExport RESULT PDMIR_GetModuleStatus(UINT16 serialNumber, STATUSBITS *mStatus, STATUSBITS *mTemperature, STATUSBITS *mSpad, STATUSBITS *mGate, STATUSWARMUP *mWarm, UINT32 *errors);
1073 
1080 DllSDKExport void PDMIR_ErrorTranslator(UINT32 error, char *stringOut);
1082 //------------ Configuration methods -----------------------------------------
1088 
1099 DllSDKExport RESULT PDMIR_SaveCurrentConfig(UINT16 serialNumber, UINT8 configNumber, char *configName);
1100 
1111 DllSDKExport RESULT PDMIR_SaveCurrentConfigForceOverWrite(UINT16 serialNumber, UINT8 configNumber, char *configName);
1112 
1122 DllSDKExport RESULT PDMIR_DeleteConfig(UINT16 serialNumber, UINT8 configNumber);
1123 
1133 DllSDKExport RESULT PDMIR_SetConfigPowerUp(UINT16 serialNumber, UINT8 configNumber);
1134 
1147 DllSDKExport RESULT PDMIR_LoadConfig(UINT16 serialNumber, UINT8 configNumber);
1148 
1155 DllSDKExport RESULT PDMIR_GetCurrentConfig(UINT16 serialNumber, MODULECONFIG *config);
1156 
1167 DllSDKExport RESULT PDMIR_GetConfigX(UINT16 serialNumber, UINT8 configNumber, MODULECONFIG *config, char *configName);
1168 
1177 DllSDKExport RESULT PDMIR_GetConfigPowerUp(UINT16 serialNumber, UINT8 *configNumber);
1178 
1182 
1183 #ifdef __cplusplus
1184 }
1185 #endif
1186 
1187 #endif //__PDM_IR_SDK_h__
INT16 AuxInTh
The Threshold of the Aux In expressed in mV.
Definition: PDM-IR_SDK.h:250
The module is warming up.
Definition: PDM-IR_SDK.h:234
TRFUNCT
Function Type enum.
Definition: PDM-IR_SDK.h:154
DllSDKExport RESULT PDMIR_GetCounterAvalancheLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the photon out counter value of the PDM-IR.
The Output reproduces the hold off signal.
Definition: PDM-IR_SDK.h:189
GATEMODE GateMode
The Gate Mode: trigger internal or external.
Definition: PDM-IR_SDK.h:246
When the hold off time is over, the gate is not applied until the next rising edge of the gate window...
Definition: PDM-IR_SDK.h:120
Inverted Selected trigger NAND Aux In.
Definition: PDM-IR_SDK.h:170
Inverted Selected trigger OR Inverted Aux In.
Definition: PDM-IR_SDK.h:165
Selected trigger NOR Aux In.
Definition: PDM-IR_SDK.h:168
DllSDKExport RESULT PDMIR_GetModuleInfo(UINT16 serialNumber, MODULEINFO *info)
Get the module information of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAuxInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the Aux In counter value of the PDM-IR at specified index.
The Output reproduces the trigger gate signal.
Definition: PDM-IR_SDK.h:187
DllSDKExport RESULT PDMIR_GetAllCountersLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *avalancheCounts, UINT32 *validGateCounts, UINT32 *auxInCounts, UINT32 *triggerInCounts, UINT32 *internalTriggerCounts)
Get the value of all the counters of the PDM-IR.
DllSDKExport RESULT PDMIR_SetAuxInTh(UINT16 serialNumber, INT16 TriggerTh)
Set the Aux In Threshold of the PDM-IR.
Error parsing the values referenced.
Definition: PDM-IR_SDK.h:101
DllSDKExport RESULT PDMIR_SaveCurrentConfigForceOverWrite(UINT16 serialNumber, UINT8 configNumber, char *configName)
Store current configuration of the PDM-IR in the configNumber position overwriting the existing one...
Inverted Selected trigger XNOR Aux In.
Definition: PDM-IR_SDK.h:172
INT16 TriggerInTh
The Threshold of the trigger In expressed in mV.
Definition: PDM-IR_SDK.h:249
At least one of the input values are not compatible within the current settings.
Definition: PDM-IR_SDK.h:103
DllSDKExport RESULT PDMIR_SetGateMode(UINT16 serialNumber, GATEMODE gm)
Set the gate mode of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCurrentConfig(UINT16 serialNumber, MODULECONFIG *config)
Get the current configuration parameters of the PDM-IR.
The Parameter needs to be updated.
Definition: PDM-IR_SDK.h:225
DllSDKExport RESULT PDMIR_SetTriggerInTh(UINT16 serialNumber, INT16 TriggerTh)
Set the Trigger In Threshold of the PDM-IR.
HOLDOFFTYPE
hold Off Type enum.
Definition: PDM-IR_SDK.h:119
The Output reproduces the internal trigger signal.
Definition: PDM-IR_SDK.h:191
STATUSBITS
Parameter Status enum.
Definition: PDM-IR_SDK.h:220
DllSDKExport RESULT PDMIR_SetGateShape(UINT16 serialNumber, GATESHAPE gs)
Set the gate shape of the PDM-IR.
OUTMODE TtlOut
The output signal of the TTL out.
Definition: PDM-IR_SDK.h:254
DllSDKExport RESULT PDMIR_GetDelayTTLOut(UINT16 serialNumber, UINT8 *delay)
Get the TTL out delay of the PDM-IR.
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:214
UINT32 Ton
The On time of the gate in case of fixed gate width in ns.
Definition: PDM-IR_SDK.h:253
Inverted Selected trigger XNOR Inverted Aux In.
Definition: PDM-IR_SDK.h:178
Module Configuration Structure.
Definition: PDM-IR_SDK.h:241
Selected trigger XOR Aux In.
Definition: PDM-IR_SDK.h:157
Inverted Selected trigger NAND Inverted Aux In.
Definition: PDM-IR_SDK.h:176
The Gate trigger is the external trigger.
Definition: PDM-IR_SDK.h:130
DllSDKExport RESULT PDMIR_SetCounterInternalTriggerEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the internal trigger counter of the PDM-IR.
DllSDKExport RESULT PDMIR_LoadConfig(UINT16 serialNumber, UINT8 configNumber)
Load a stored configuration of the PDM-IR.
DllSDKExport RESULT PDMIR_SetHoldOff(UINT16 serialNumber, UINT32 holdOff, HOLDOFFTYPE type)
Set the hold off time of the SPAD.
UINT8 DelayNimOut
The delay time of the NIM out Signal.
Definition: PDM-IR_SDK.h:260
Selected trigger AND Inverted Aux In.
Definition: PDM-IR_SDK.h:161
Inverted Selected trigger NOR Inverted Aux In.
Definition: PDM-IR_SDK.h:177
Inverted Selected trigger XOR Aux In.
Definition: PDM-IR_SDK.h:160
COUNTERSTATUS CounterValidGateStatus
The valid gate counter status.
Definition: PDM-IR_SDK.h:264
The Output reproduces the valid gate signal.
Definition: PDM-IR_SDK.h:190
DllSDKExport RESULT PDMIR_GetAllCountersStatus(UINT16 serialNumber, COUNTERSTATUS *avalancheStatus, COUNTERSTATUS *validGateStatus, COUNTERSTATUS *auxInStatus, COUNTERSTATUS *triggerInStatus, COUNTERSTATUS *internalTriggerStatus)
Get the status of all the counter of the PDM-IR.
DllSDKExport RESULT PDMIR_SetDelayTriggerInternal(UINT16 serialNumber, UINT8 delay)
Set the Internal Trigger delay of the PDM-IR.
DllSDKExport RESULT PDMIR_OpenCommunication(UINT16 serialNumber)
Open the communication with a module.
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:212
DllSDKExport RESULT PDMIR_SaveCurrentConfig(UINT16 serialNumber, UINT8 configNumber, char *configName)
Store current configuration of the PDM-IR in the configNumber position.
Selected trigger AND Aux In.
Definition: PDM-IR_SDK.h:155
The Counter is disabled.
Definition: PDM-IR_SDK.h:199
DllSDKExport RESULT PDMIR_GetGateShape(UINT16 serialNumber, GATESHAPE *shape)
Get the gate shape of the PDM-IR.
DllSDKExport RESULT PDMIR_GetAuxInTh(UINT16 serialNumber, INT16 *AuxInTh)
Get the Aux In Threshold of the PDM-IR.
The Output reproduces the photon out signal.
Definition: PDM-IR_SDK.h:188
Medium temperature: the dark count rate is the one shown in the test report.
Definition: PDM-IR_SDK.h:111
Selected trigger XNOR Inverted Aux In.
Definition: PDM-IR_SDK.h:175
Inverted Selected trigger AND Inverted Aux In.
Definition: PDM-IR_SDK.h:164
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the internal trigger counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_SetModuleOnOff(UINT16 serialNumber, STATUSBITS Mstatus)
Set the module status of the PDM-IR.
Inverted Selected trigger.
Definition: PDM-IR_SDK.h:179
DllSDKExport RESULT PDMIR_GetCounterValidGateStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the valid gate counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterTriggerInStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the trigger In counter of the PDM-IR.
UINT32 Frequency
The Internal frequency of the PDM-IR in Hz.
Definition: PDM-IR_SDK.h:252
DllSDKExport RESULT PDMIR_GetGateMode(UINT16 serialNumber, GATEMODE *gate)
Get the gate mode of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAvalancheValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the photon out counter value of the PDM-IR at specified index.
DllSDKExport RESULT PDMIR_SetCounterIntegrationTime(UINT16 serialNumber, UINT16 integrationTime)
Set the counters integration time of the PDM-IR.
GATESHAPE
Gate Shape enum.
Definition: PDM-IR_SDK.h:136
Low temperature: the dark count rate is very low.
Definition: PDM-IR_SDK.h:112
Selected trigger NAND Inverted Aux In.
Definition: PDM-IR_SDK.h:173
Selected trigger XOR Inverted Aux In.
Definition: PDM-IR_SDK.h:163
DllSDKExport RESULT PDMIR_GetCounterAvalancheStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the photon out counter of the PDM-IR.
UINT8 DelayGate
The delay time of the Gate Signal.
Definition: PDM-IR_SDK.h:259
DllSDKExport RESULT PDMIR_SetAmplitude(UINT16 serialNumber, UINT16 AmplimV)
Set the gate amplitude of the PDM-IR.
UINT8 DelayTriggerIn
The delay time of the Trigger In Signal.
Definition: PDM-IR_SDK.h:256
UINT8 DelayTtlOut
The delay time of the TTL out Signal.
Definition: PDM-IR_SDK.h:261
DllSDKExport RESULT PDMIR_GetDelayGate(UINT16 serialNumber, UINT8 *delay)
Get the Gate delay of the PDM-IR.
DllSDKExport RESULT PDMIR_GetTriggerEdge(UINT16 serialNumber, TREDGE *edge)
Get the Trigger Edge of the PDM-IR.
unsigned short UINT16
16 bit signed definition
Definition: PDM-IR_SDK.h:89
signed int INT32
32 bit signed definition
Definition: PDM-IR_SDK.h:92
DllSDKExport RESULT PDMIR_SetDelayTTLOut(UINT16 serialNumber, UINT8 delay)
Set the TTL out delay of the PDM-IR.
COUNTERSTATUS CounterInternalTriggerStatus
The internal trigger counter status.
Definition: PDM-IR_SDK.h:267
The Parameter has a safe value, used before update the value waiting the right update order...
Definition: PDM-IR_SDK.h:224
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:210
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the internal trigger counter of the PDM-IR.
Falling Edge Trigger.
Definition: PDM-IR_SDK.h:147
DllSDKExport RESULT PDMIR_DeleteConfig(UINT16 serialNumber, UINT8 configNumber)
Delete the configuration stored in the configNumber position.
signed char INT8
8 bit signed definition
Definition: PDM-IR_SDK.h:86
DllSDKExport RESULT PDMIR_GetNIMOut(UINT16 serialNumber, OUTMODE *NIMOut)
Get the NIM ouput signal of the PDM-IR.
DllSDKExport RESULT PDMIR_SearchDevices(UINT16 *arrayDataSN, UINT16 *numDevsFound)
Modules list Constructor.
Selected trigger.
Definition: PDM-IR_SDK.h:180
DllSDKExport RESULT PDMIR_GetCounterValidGateValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the valid gate counter value of the PDM-IR at specified index.
TREDGE
Edge Type enum.
Definition: PDM-IR_SDK.h:145
DllSDKExport RESULT PDMIR_GetCounterInternalTriggerValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the internal trigger counter value of the PDM-IR at specified index.
Rising Edge Trigger.
Definition: PDM-IR_SDK.h:146
COUNTERSTATUS CounterTriggerInStatus
The trigger in counter status.
Definition: PDM-IR_SDK.h:266
Selected trigger XNOR Aux In.
Definition: PDM-IR_SDK.h:169
DllSDKExport RESULT PDMIR_SetTemperature(UINT16 serialNumber, TEMP_VALUES temp)
Set the working temperature of the PDM-IR.
Selected trigger NOR Inverted Aux In.
Definition: PDM-IR_SDK.h:174
UINT32 HoldOff
The Hold Off value after an avalanche expressed in ns.
Definition: PDM-IR_SDK.h:244
DllSDKExport RESULT PDMIR_GetHoldOff(UINT16 serialNumber, UINT32 *holdOff, HOLDOFFTYPE *type)
Get the hold off time of the PDM-IR.
UINT16 CounterIntegrationTime
The counters' integration time.
Definition: PDM-IR_SDK.h:262
TEMP_VALUES
Temperature enum.
Definition: PDM-IR_SDK.h:109
HOLDOFFTYPE HoldOffLevel
The Hold Off type: edge or level.
Definition: PDM-IR_SDK.h:245
DllSDKExport RESULT PDMIR_GetDelayTriggerIn(UINT16 serialNumber, UINT8 *delay)
Get the Trigger In delay of the PDM-IR.
The Counter is enabled.
Definition: PDM-IR_SDK.h:201
SPAD_TYPE
SPAD Type enum.
Definition: PDM-IR_SDK.h:207
unsigned int UINT32
32 bit unsigned definition
Definition: PDM-IR_SDK.h:91
TREDGE TriggerEdge
The Rising or falling edge of the trigger.
Definition: PDM-IR_SDK.h:248
DllSDKExport RESULT PDMIR_GetDelayTriggerInternal(UINT16 serialNumber, UINT8 *delay)
Get the Internal Trigger delay of the PDM-IR.
Inverted Selected trigger OR Aux In.
Definition: PDM-IR_SDK.h:159
TEMP_VALUES Temperature
The temperature value.
Definition: PDM-IR_SDK.h:243
unsigned char UINT8
8 bit unsigned definition
Definition: PDM-IR_SDK.h:85
DllSDKExport RESULT PDMIR_GetTriggerInTh(UINT16 serialNumber, INT16 *TriggerInTh)
Get the Trigger In Threshold of the PDM-IR.
DllSDKExport RESULT PDMIR_SetCounterValidGateEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the valid gate counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetTemperature(UINT16 serialNumber, TEMP_VALUES *temp)
Get the working temperature of the PDM-IR.
The Gate has a fixed width determinated by the Ton.
Definition: PDM-IR_SDK.h:137
DllSDKExport RESULT PDMIR_SetCounterAuxInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the Aux In counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetFrequency(UINT16 serialNumber, UINT32 *freq)
Get the internal trigger frequency in Hz of the PDM-IR.
DllSDKExport void PDMIR_ErrorTranslator(UINT32 error, char *stringOut)
Get the string description of an error code of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterTriggerInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the trigger in counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_GetDelayNIMOut(UINT16 serialNumber, UINT8 *delay)
Get the NIM out delay of the PDM-IR.
SPAD_TYPE SpadType
The Spad type.
Definition: PDM-IR_SDK.h:273
DllSDKExport RESULT PDMIR_SetTTLOut(UINT16 serialNumber, OUTMODE TTLOut)
Set the TTL ouput signal of the PDM-IR.
COUNTERSTATUS
Counter Status enum.
Definition: PDM-IR_SDK.h:198
The Parameter is enabled.
Definition: PDM-IR_SDK.h:222
DllSDKExport void PDMIR_GetVersion(UINT16 *major, UINT16 *minor, UINT16 *revision)
DLL version.
DllSDKExport RESULT PDMIR_GetAmplitude(UINT16 serialNumber, UINT16 *ampi)
Get the gate amplitude of the PDM-IR.
UINT8 DelayTriggerInternal
The delay time of the Internal Trigger Signal.
Definition: PDM-IR_SDK.h:257
DllSDKExport RESULT PDMIR_GetConfigPowerUp(UINT16 serialNumber, UINT8 *configNumber)
Get the stored configuration number set as power up configuration of the PDM-IR.
DllSDKExport RESULT PDMIR_SetTon(UINT16 serialNumber, UINT32 tOn)
Set the Ton time in ns of the PDM-IR.
Lowest temperature: the dark count rate is the lowest as possible.
Definition: PDM-IR_SDK.h:113
The Gate has the same digital shape and duration of the trigger gate signal.
Definition: PDM-IR_SDK.h:138
signed short INT16
16 bit unsigned definition
Definition: PDM-IR_SDK.h:88
DllSDKExport RESULT PDMIR_GetCounterTriggerInValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the trigger in counter value of the PDM-IR at specified index.
DllSDKExport RESULT PDMIR_SetFrequency(UINT16 serialNumber, UINT32 frequency)
Set the internal trigger frequency in Hz of the PDM-IR.
Structure containing the information of the PDM-IR.
Definition: PDM-IR_SDK.h:271
The Parameter is updating the state.
Definition: PDM-IR_SDK.h:223
DllSDKExport RESULT PDMIR_GetTon(UINT16 serialNumber, UINT32 *Ton)
Get the Ton time in ns of the PDM-IR.
UINT8 DelayAuxIn
The delay time of the Aux In Signal.
Definition: PDM-IR_SDK.h:258
DllSDKExport RESULT PDMIR_GetCounterValidGateLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the valid gate counter value of the PDM-IR.
DllSDKExport RESULT PDMIR_SetCounterAvalancheEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the photon out counter of the PDM-IR.
UINT16 SN
The PDM-IR Serial Number.
Definition: PDM-IR_SDK.h:272
DllSDKExport RESULT PDMIR_GetCounterIntegrationTime(UINT16 serialNumber, UINT16 *integrationTime)
Get the counters integration time of the PDM-IR.
DllSDKExport RESULT PDMIR_SetDelayTriggerIn(UINT16 serialNumber, UINT8 delay)
Set the Trigger In delay of the PDM-IR.
The SPAD is always on when not in hold off.
Definition: PDM-IR_SDK.h:139
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:211
TRFUNCT TriggerFunction
The Function between trigger (internal or external) and Aux In.
Definition: PDM-IR_SDK.h:251
Error communicating with the module.
Definition: PDM-IR_SDK.h:102
The Counter is enabled only for one period.
Definition: PDM-IR_SDK.h:200
Selected trigger OR Aux In.
Definition: PDM-IR_SDK.h:156
Selected trigger NAND Aux In.
Definition: PDM-IR_SDK.h:167
DllSDKExport RESULT PDMIR_SetTriggerEdge(UINT16 serialNumber, TREDGE TriggerEdge)
Set the Trigger Edge of the PDM-IR.
OUTMODE
Output Type enum.
Definition: PDM-IR_SDK.h:186
DllSDKExport RESULT PDMIR_GetTriggerFunction(UINT16 serialNumber, TRFUNCT *function)
Get the Function between Aux In and trigger (in or internal) of the PDM-IR.
Selected trigger OR Inverted Aux In.
Definition: PDM-IR_SDK.h:162
The Parameter is updated.
Definition: PDM-IR_SDK.h:226
DllSDKExport RESULT PDMIR_SetDelayNIMOut(UINT16 serialNumber, UINT8 delay)
Set the NIM out delay of the PDM-IR.
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:208
DllSDKExport RESULT PDMIR_SetTriggerFunction(UINT16 serialNumber, TRFUNCT TriggerFunction)
Set the Function between Aux In and trigger (in or internal) of the PDM-IR.
GATESHAPE GateShape
The Gate Shape: fixed gate, free gate or free running.
Definition: PDM-IR_SDK.h:247
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:209
RESULT
Error table enum.
Definition: PDM-IR_SDK.h:97
DllSDKExport RESULT PDMIR_SetDelayAuxIn(UINT16 serialNumber, UINT8 delay)
Set the Aux In delay of the PDM-IR.
At least one of the input values are above the maximum value accepted.
Definition: PDM-IR_SDK.h:99
DllSDKExport RESULT PDMIR_GetDelayAuxIn(UINT16 serialNumber, UINT8 *delay)
Get the Aux In delay of the PDM-IR.
STATUSWARMUP
Warming Up module enum.
Definition: PDM-IR_SDK.h:233
Inverted Selected trigger AND Aux In.
Definition: PDM-IR_SDK.h:158
result as expected.
Definition: PDM-IR_SDK.h:98
OUTMODE NimOut
The output signal of the NIM out.
Definition: PDM-IR_SDK.h:255
High temperature: the dark count rate is the highest than other temperature modes, but no particular caution is required for module thermal stability.
Definition: PDM-IR_SDK.h:110
UINT16 Amplitude
The Gate Amplitude (Excess Bias) expressed in mV.
Definition: PDM-IR_SDK.h:242
useful parameter for device statistics.
Definition: PDM-IR_SDK.h:213
COUNTERSTATUS CounterAuxInStatus
The Aux In counter status.
Definition: PDM-IR_SDK.h:265
The Gate window is applied after the hold off time is over.
Definition: PDM-IR_SDK.h:121
Inverted Selected trigger XOR Inverted Aux In.
Definition: PDM-IR_SDK.h:166
DllSDKExport RESULT PDMIR_SetNIMOut(UINT16 serialNumber, OUTMODE NIMOut)
Set the NIM ouput signal of the PDM-IR.
GATEMODE
Gate Mode enum.
Definition: PDM-IR_SDK.h:128
DllSDKExport RESULT PDMIR_GetTTLOut(UINT16 serialNumber, OUTMODE *TTLOut)
Get the TTL ouput signal of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAuxInLastValue(UINT16 serialNumber, UINT8 *index, UINT32 *counts)
Get the aux in counter value of the PDM-IR.
At least one of the input values are below the minimum value accepted.
Definition: PDM-IR_SDK.h:100
The module has a stable temperature.
Definition: PDM-IR_SDK.h:235
The Parameter is disabled.
Definition: PDM-IR_SDK.h:221
DllSDKExport RESULT PDMIR_GetAllCountersValueAtIndex(UINT16 serialNumber, UINT8 *index, UINT32 *avalancheCounts, UINT32 *validGateCounts, UINT32 *auxInCounts, UINT32 *triggerInCounts, UINT32 *internalTriggerCounts)
Get the value of all the counters of the PDM-IR at specified index.
Inverted Selected trigger NOR Aux In.
Definition: PDM-IR_SDK.h:171
DllSDKExport RESULT PDMIR_CloseCommunication(UINT16 serialNumber)
Close the communication with a module.
The Output is high in case of error of the module (electrical signal of the RED led) ...
Definition: PDM-IR_SDK.h:192
DllSDKExport RESULT PDMIR_SetDelayGate(UINT16 serialNumber, UINT8 delay)
Set the Gate delay of the PDM-IR.
COUNTERSTATUS CounterAvalancheStatus
The photon out counter status.
Definition: PDM-IR_SDK.h:263
DllSDKExport RESULT PDMIR_SetConfigPowerUp(UINT16 serialNumber, UINT8 configNumber)
Set a stored configuration as power up configuration of the PDM-IR.
DllSDKExport RESULT PDMIR_GetConfigX(UINT16 serialNumber, UINT8 configNumber, MODULECONFIG *config, char *configName)
Get a stored configuration of the PDM-IR.
The Gate trigger is the internal trigger.
Definition: PDM-IR_SDK.h:129
DllSDKExport RESULT PDMIR_SetCounterTriggerInEnable(UINT16 serialNumber, COUNTERSTATUS Cstatus)
Set the trigger In counter of the PDM-IR.
DllSDKExport RESULT PDMIR_GetModuleStatus(UINT16 serialNumber, STATUSBITS *mStatus, STATUSBITS *mTemperature, STATUSBITS *mSpad, STATUSBITS *mGate, STATUSWARMUP *mWarm, UINT32 *errors)
Get the module status of the PDM-IR.
DllSDKExport RESULT PDMIR_GetCounterAuxInStatus(UINT16 serialNumber, COUNTERSTATUS *status)
Get the Aux In counter of the PDM-IR.